модуль статистика ;; визначити, чи містить список даний елемент (логічний результат інвертується, тоді чи_не_містить), з оновленням Мавки замінити на умову "містить" дія чи_не_містить(вхідний_список, шукоме_значення) результат = так перебрати вхідний_список як елемент якщо елемент == шукоме_значення результат = ні кінець кінець результат кінець ;; функція для сортування списку дія сортувати(вхідні_дані список) список була_зміна = так поки була_зміна була_зміна = ні перебрати діапазон(0, вхідні_дані.довжина()-1) як індекс_елементу якщо вхідні_дані[індекс_елементу] > вхідні_дані[індекс_елементу+1] ;; міняємо елементи місцями тимчасова_змінна = вхідні_дані[індекс_елементу+1] вхідні_дані[індекс_елементу+1] = вхідні_дані[індекс_елементу] вхідні_дані[індекс_елементу] = тимчасова_змінна була_зміна = так кінець кінець кінець вхідні_дані кінець ;; знайти середнє арифметичне значення списку чисел, (а+б+с+д)/4 дія середнє_арифметичне(вхідні_дані список) число сума = 0 перебрати вхідні_дані як елемент якщо елемент є число сума = сума + елемент інакше впасти "статистика.середнє_арифметичне() приймає тільки список чисел, '"+елемент+"' не є числом." кінець кінець сума / вхідні_дані.довжина() кінець ;; знайти середнє геометричне значення списку чисел, корінь4(а*б*с*д) дія середнє_геометричне(вхідні_дані список) число добуток = 1 перебрати вхідні_дані як елемент якщо елемент є число добуток = добуток * елемент інакше впасти "статистика.середнє_геометричне() приймає тільки список чисел, '"+елемент+"' не є числом." кінець кінець добуток ** (1/вхідні_дані.довжина()) кінець ;; знайти середнє гармонійне значення списку чисел, 4/(1/а+1/б+1/с+1/д) дія середнє_гармонійне(вхідні_дані список) число сума = 0 перебрати вхідні_дані як елемент якщо елемент є число сума = сума + (1/елемент) інакше впасти "статистика.середнє_гармонійне() приймає тільки список чисел, '"+елемент+"' не є числом." кінець кінець вхідні_дані.довжина() / сума кінець ;; знайти медіану серед списку чисел дія медіана(вхідні_дані список) число перебрати вхідні_дані як елемент якщо елемент не є число впасти "статистика.медіана() приймає тільки список чисел, '"+елемент+"' не є числом." кінець кінець вхідні_дані = сортувати(вхідні_дані) довжина = вхідні_дані.довжина() якщо довжина % 2 == 1 вернути вхідні_дані[довжина/2-0.5] інакше вернути (вхідні_дані[довжина/2-1]+вхідні_дані[довжина/2])/2 кінець кінець ;; знайти низьку медіану серед списку чисел ( якщо вибір стоїть між двома числами, вибирається менше ) дія низька_медіана(вхідні_дані список) число перебрати вхідні_дані як елемент якщо елемент не є число впасти "статистика.медіана() приймає тільки список чисел, '"+елемент+"' не є числом." кінець кінець вхідні_дані = сортувати(вхідні_дані) довжина = вхідні_дані.довжина() якщо довжина % 2 == 1 вернути вхідні_дані[довжина/2-0.5] інакше вернути вхідні_дані[довжина/2-1] кінець кінець ;; знайти високу медіану серед списку чисел ( якщо вибір стоїть між двома числами, вибирається більше ) дія висока_медіана(вхідні_дані список) число перебрати вхідні_дані як елемент якщо елемент не є число впасти "статистика.медіана() приймає тільки список чисел, '"+елемент+"' не є числом." кінець кінець вхідні_дані = сортувати(вхідні_дані) довжина = вхідні_дані.довжина() якщо довжина % 2 == 1 вернути вхідні_дані[довжина/2-0.5] інакше вернути вхідні_дані[довжина/2] кінець кінець ;; знайти моду для списку чисел ( якщо декілька мод, повертає першу знайдену ) дія мода(вхідні_дані список) число унікальні_елементи = [] перебрати вхідні_дані як елемент якщо елемент є число якщо чи_не_містить(унікальні_елементи, елемент) унікальні_елементи.додати(елемент) кінець інакше впасти "статистика.мода() приймає тільки список чисел, '"+елемент+"' не є числом." кінець кінець максимальна_кількість = 0 мода = пусто перебрати унікальні_елементи як значення кількість = 0 перебрати вхідні_дані як елемент якщо елемент == значення кількість += 1 кінець кінець якщо кількість > максимальна_кількість максимальна_кількість = кількість мода = значення кінець кінець мода кінець ;; знайти мультимоду для списку чисел ( якщо декілька мод, повертає всі як список в порядку знайдення; поверне список із 1 елементу якщо мода ) дія мультимода(вхідні_дані список) число унікальні_елементи = [] перебрати вхідні_дані як елемент якщо елемент є число якщо чи_не_містить(унікальні_елементи, елемент) унікальні_елементи.додати(елемент) кінець інакше впасти "статистика.мода() приймає тільки список чисел, '"+елемент+"' не є числом." кінець кінець максимальна_кількість = 0 мода = [] перебрати унікальні_елементи як значення кількість = 0 перебрати вхідні_дані як елемент якщо елемент == значення кількість += 1 кінець кінець якщо кількість == максимальна_кількість мода.додати(значення) кінець якщо кількість > максимальна_кількість максимальна_кількість = кількість мода = [значення] кінець кінець мода кінець дати середнє_арифметичне дати середнє_геометричне дати середнє_гармонійне дати медіана дати низька_медіана дати висока_медіана дати мода дати мультимода кінець дати статистика